﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace socialnetworkApp.Domain.Models
{
    [Table("Job_Listing")]
    public class JobListing
    {
        [Key]  // 主键
        [Column("job_id")]
        public string Job_Id { get; set; }  // 招聘信息的唯一标识

        public string U_Id { get; set; }

        [Required]  // 非空
        [Column("job_title")]
        [MaxLength(255)]
        public string Job_Title { get; set; }  // 职位名称，如 ASP.NET开发工程师

        [Required]  // 非空
        [Column("location")]
        [MaxLength(255)]
        public string Location { get; set; }  // 工作地点，如 深圳罗湖区

        [Column("salary_range")]
        [MaxLength(50)]
        public string Salary_Range { get; set; }  // 薪资范围，如 15,000-20,000

        [Column("experience_required")]
        [MaxLength(50)]
        public string? Experience_Required { get; set; }  // 工作年限要求，如 1年以上

        [Column("education_required")]
        [MaxLength(100)]
        public string? Education_Required { get; set; }  // 学历要求，如 本科及以上

        [Column("english_level")]
        [MaxLength(50)]
        public string? English_Level { get; set; }  // 英语水平要求，如 英语四级及以上

        [Column("job_description")]
        public string? Job_Description { get; set; }  // 职位描述，包含岗位职责和工作内容

        [Column("qualifications")]
        public string? Qualifications { get; set; }  // 任职要求，包含学历、技能、工作经验等要求

        [Column("benefits")]
        public string? Benefits { get; set; }  // 福利待遇，包含年假、社保、工作时间等福利

        [Column("company_name")]
        [MaxLength(255)]
        public string? Company_Name { get; set; }  // 公司名称，如 思齐软件

        [Column("company_profile")]
        public string? Company_Profile { get; set; }  // 公司简介，介绍公司的历史、成就和业务

        [Column("work_address")]
        public string? Work_Address { get; set; }  // 工作地址，如 深圳市罗湖区人民南路3005号

        [Column("safety_notice")]
        public string? Safety_Notice { get; set; }  // 安全提示，提醒应聘者注意求职过程中的安全事项

        [Column("additional_info")]
        public string? Additional_Info { get; set; }  // 其他补充信息，如公司发展前景等

        [Column("created_at")]
        public DateTime Created_At { get; set; }  // 记录创建时间
    }
}
